| hovedside
| om meg | Download - Grafikk - Morro - Programmer - Annet | Gjestebok | hjemmeside-kurs - HTML - CSS - JavaScript - CGI - XML | linker |
Hjemmeside- kurs --> XMLDette er introduksjon til XML laget av Stephan Nedreg�rd
InnholdLengre nede i dokumentet kan du n�r som helst klikke p� en overskrift (av typen ovenfor) for � komme tilbake til innholdsfortegnelsen.
Bakgrunn
En viss kunnskap i HTML og CSS (Cascading Stylesheets) er p�krevd i dette dokumentet. Kjenner du ikke til disse teknologiene, kan du l�re om dem her: HTMLv - CSSv.
Dette dokumentet tar for seg XML som st�ttet i Internet Explorer 5.0 og Mozilla 5 (kommende Netscape 5).
Internet Explorer 5 har en XML-st�tte som kan oppfattes som av noe tvilsom natur. For dem som m�tte v�re interesserte i dette og problemstillinger som reises av den grunn kan ta en titt p� XML.com's artikkel om XML-st�tten i IE5: [i XML-formatv] - [i HTML-formatv]
Alle XML-dokumenter starter med en linje som identifiserer dokumentet som XML-dokument og angir hvilket tegnsett dokumentet bruker. (Man kan angi mer her, dette omtales senere):
<?xml version="1.0" encoding="ISO-8859-1"?>
Tegnsettet ISO-8859-1 (som brukes her) er standardtegnsettet i det vestlige Europa og i USA. Det m� angis i norske dokumenter dersom vi vil ha st�tte for de norske tegnene �, � og � (b�de sm� og store bokstaver).
Deretter kan vi starte � skrive XML. XML skrives stort sett som HTML, vi starter og avslutter elementene som i HTML:
<bold>Tekst</bold>
Den st�rste forskjellen mellom de to spr�kene er at vi i XML lager elementene selv - vi definerer hvorledes de skal se ut og hvorledes de skal forholde seg til hverandre. Dette gj�res enkelt og greit ved hjelp av Cascading Stylesheets. Ved � skrive CSS til v�re elementer, angir vi hvorledes de skal se ut. Dette gj�res akkurat som n�r vi skriver CSS til HTML. Eksempelvis kan vi definere utseendet p�
Hittil ser alt ganske likt ut, ikke sant? Vel, XML og HTML fungerer ganske likt. Det er likevel et par forskjeller mellom de to:
Et eksempeldokumentv<?xml version="1.0" encoding="ISO-8859-1"?><?xml-stylesheet type="text/css" href="xmlstyle.css"?> <side> <overskrift>Eksempeldokument</overskrift> <tekst>Dette er et eksempeldokument<br/> Hvori dette er linje 2</tekst> </side> Stylesheets i XMLKobling til CSS fra XML-dokumentetDu ser et eksempel p� tilknytning av stylesheet i eksemplet ovenfor. Dette gj�res (som du ser) ved hjelp av f�lgende linje: <?xml-stylesheet type="text/css" href="xmlstyle.css"?> Dette tilsvarer f�lgende i HTML: <link rel="stylesheet" type="text/css" href="xmlstyle.css"> Noen viktige CSS-egenskaper i forbindelse med XML-dokumenter
CSS-egenskapen
Som du s� definerte jeg ovenfor
For � f� marger m� vi bruke
Derved er Tilordning av CSS-stiler til "siden" i XML-dokumenter
Tilordning av CSS-stiler til "siden" (tilsvarende Dette vil Mozilla-baserte browsere glatt overse. Hos disse tilordner vi stilene til �verste element (det elementet alle andre elementer befinner seg inne i), slik: side {padding: 10px; background: navy; color: yellow; font-family: arial, sans-serif; display: block;}
Internet Explorer godtar dette, men legger da til en marg rundt det �verste elementet. For � f� XML-stylesheetet v�rt til � fungere i begge browserne m� vi tilordne bakgrunnsfarge og marg p� IE5-metoden og s� bruke Mozilla-metoden:
{background: navy; margin: 0px;}
Nok et eksempeldokumentN� kan du nok til � skrive et dokument i XML, slik som f�lgende: (Vi skal komme tilbake til andre detaljer - slik som linking - senere) <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="xmlstyle.css"?> <side> <overskrift>Eksempeldokument</overskrift> <avsnitt> Dette er et eksempeldokument. Vi skal n� teste skriving av et ganske enkelt (og greit) dokument i <bold>XML</bold>. </avsnitt> <avsnitt> For � f� det rette utseendet er dette dokumentet linket til et stylesheet. </avsnitt> </side> Og s� v�rt lille stylesheet (xmlstyle.css): { background: navy; margin: 0px; } side { padding: 10px; background: navy; color: yellow; font-family: arial, helvetica, helv, sans-serif; display: block; } overskrift { display: block; font-size: 18pt; margin-bottom: .5em; } avsnitt { display: block; margin-bottom: 1em; width: 300px; } bold { display: inline; font-weight: bold; } Ta en titt p� dette dokumentet! (krever XML-browser) HTML i XMLN� skal vi putte inn noen HTML-elementer i XMLen v�r! Vi skal ta utgangspunkt i f�lgende eksempel: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="xmlstyle.css"?> <side xmlns:html="http://www.w3.org/TR/REC-html40"> <overskrift>Eksempeldokument</overskrift> <avsnitt> Dette er et eksempeldokument. Vi skal n� teste skriving av et ganske enkelt (og greit) dokument i <bold>XML</bold>. </avsnitt> <avsnitt> For � f� det rette utseendet er dette dokumentet linket til et stylesheet. </avsnitt> <avsnitt> <html:a href="http://www.micropop.com">Link til MicroPop</html:a> </avsnitt> </side> Ta en titt p� dette dokumentet!
Vi refererer her til HTML-spr�ket og bruker elementer fra dette. Det gj�r vi ved f�rst � si ifra om at vi skal bruke HTML-spr�ket -- ved � angi attributten
Vi angir
For � markere at et element er hentet fra HTML-spr�ket m� vi angi Likeledes om vi �nsker � benytte
Dette er ganske enkelt og greit (n�r man har blitt vant til det). Det som kanskje er litt verre � huske p� er at XML-regelen om at alle elementer m� avsluttes gjelder ogs� her! Om vi �nsker � bruke et element som ikke trenger avslutting i HTML, slik som
Det er heller ikke tillatt med attributter som ikke er satt til noen verdi, slik som f.eks. CSS anvendt p� HTML-elementer i XML
N�r vi skal angi CSS for HTML-elementene v�re, f.eks.
Hvorfor? Fordi kolontegnet har en spesiell funksjon i CSS fra f�r av. (Du har kanskje v�rt borti
Hva vi da skal gj�re? Vi putter inn en backslash (\) foran kolonet. Dette forteller XML-leseren v�r at den ikke skal tolke kolonet p� CSS-m�ten. Dermed blir dette den riktige stiltilordningen for Tilsvarende til Eksempeldokument med HTML i XMLPraktisk eksempel p� bruk av HTML (og CSS for HTML) i et XML-dokument: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="xmlstyle.css"?> <side xmlns:html="http://www.w3.org/TR/REC-html40"> <overskrift>Eksempeldokument</overskrift> <avsnitt> Dette er et eksempeldokument. Vi skal n� teste skriving av et ganske enkelt (og greit) dokument i <bold>XML</bold>. </avsnitt> <avsnitt> For � f� det rette utseendet er dette dokumentet linket til et stylesheet. </avsnitt> <avsnitt> <html:a href="http://www.micropop.com">MicroPop</html:a> </avsnitt> </side> Stylesheetet (xmlstyle.css): { background: navy; margin: 0px; } side { padding: 10px; background: navy; color: yellow; font-family: arial, helvetica, helv, sans-serif; display: block; } overskrift { display: block; font-size: 18pt; margin-bottom: .5em; } avsnitt { display: block; margin-bottom: 1em; width: 300px; } bold { display: inline; font-weight: bold; } html\:a {color: white; text-decoration: underline;} html\:a:hover {color: cyan;} Ta en titt p� dette dokumentet! CDATA(Om f�lgende skulle representere en helt ukjent problemstilling er det bare � hoppe over avsnittet. Du vil da ikke f� bruk for � bruke CDATA slik som beskrevet her.) I XML blir alle 'character entities', slik som f.eks. < (som vi i HTML bruker for mindre-enn-tegn, <, for � unng� at HTML-leseren tolker tegnet som starten p� en tagg) gjort om til de tegn de representerer f�r dokumentet blir behandlet. <h1> blir dermed behandlet likt med <h1> i XML - i motsetning til i HTML, der f�rstnevnte vil vise frem <h1> i dokumentet. Til gjengjeld har man en ny og bedre m�te � gjengi slike tegn p�. N�r man f.eks. skal gjengi XML- eller HTML-kode, kan man bruke CDATA: <![CDATA[<h1>Dette er en overskrift</h1>]]> Vil vise frem: <h1>Dette er en overskrift</h1> Alt mellom [ og ] vil vises frem som det st�r, uten � bli tolket av XML-leseren. Til sluttVi har n� g�tt gjennom grunnleggende bruk av XML som benyttet av nettleserne Internet Explorer 5.0 og Mozilla/Netscape 5. Eksperimenter, pr�v deg frem - ha det g�y. Om det skulle v�re noe, om du skulle oppdage noe rart/nytt eller har noe � utsette p� artikkelen er det bare � sende meg en mail p� [email protected]! Fotnoter
|
![]() ![]() ![]() ![]() ![]() |